package com.yuan.algorithms.base01;

/*
 你的任务是：
 计算方程x^2+y^2+z^2= num的一个正整数解。


 Input
 输入数据包含多个测试实例，每个实例占一行，仅仅包含一个小于等于10000的正整数num。


 Output
 对于每组测试数据，请按照x,y,z递增的顺序输出它的一个最小正整数解，每个实例的输出占一行，题目保证所有测试数据都有解。


 Sample Input
 3


 Sample Output
 1 1 1
 ---------------------------------------
 注意，答案是正整数，不能从0开始遍历
 */
import java.util.Scanner;

public class HD1407求三元二次方程的一个解 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			int num = sc.nextInt();
			/*k: for (int a = 1; a <= 100; a++) {
				for (int b = a; b <= 100; b++) {
					for (int c = b; c <= 100; c++) {
						if (a * a + b * b + c * c == num) {
							System.out.println(a + " " + b + " " + c);
							break k;
						}

					}

				}

			}*/
			L: for (int a = 1; a <= 100; a++) {
				for (int b = a; b <= 100; b++) {
					double x = Math.sqrt(num - a * a - b * b);
					if (x % 1 == 0) {
						if (x==0) {
							continue;
						}
						System.out.println(a + " " + b + " "+ (int)Math.sqrt(num - a * a - b * b));
						break L;
					}

				}

			}
		}

	}

}
